package mc0304;
import java.util.Scanner;


class Main { 
	//二分的思想，前缀和 
	private static final int N = 100010; //每个元素不超过100000，所以设定100010 
	private static int n, f; //n是个数，f是最少人数 
	private static double[] nums = new double[N]; //这个是用来获取输入的数据 
	private static double[] sum = new double[N]; //这个用来求前缀和 
	
	//判断这个数字平均值是否存在 
	public static boolean check(double mid){ 
		double ans = 0; //保存当前前缀和的最小值 
		//先求前缀和
		for(int i = 1; i <= n; i++){ 
			sum[i] = sum[i-1] + nums[i] - mid; 
		} 
		//然后判断前缀和是否符合规则 
		for(int i = f; i <= n; i++){ 
			ans = Math.min(ans, sum[i-f]); //选最小的数字进行比较 
			if(sum[i] - ans >= 0){ 
				return true; 
			} 
		} 
		return false; 
	} 
	public static void main(String[] args) { 
		Scanner input = new Scanner(System.in); 
		// code here 
		n = input.nextInt(); 
		f = input.nextInt(); 
		double l = 1, r=0; 
		for(int i = 0; i < n; i++){ 
			nums[i] = input.nextInt(); 
			r = Math.max(r, nums[i]); 
		} //二分查找这个数字代表的平均值是否存在 
		while(r - l >= 1e-6){ 
			double mid = l + (r - l)/2; 
			if(check(mid)){ 
				l = mid; 
			}else{ 
				r = mid; 
			} 
		}
		System.out.println((int)(r * 1000)); 
		input.close(); 
	}
}